// 递归实现
int fiboncci(int n)
{
	if (n == 0)
		return 0;
	else if (n == 1 || n == 2)
		return 1;
	else
		return fiboncci(n - 1) + fiboncci(n - 2);
}

// 迭代实现
int fiboncci2(int n)
{
	if (n == 0)
		return 0;
	int x = 1;
	int y = 1;
	for(int i = 0; i < n - 2;i++)
	{
		int temp = y;
		y = x + y;
		x = temp;
	}
	return y;
}
void test1()
{
	int n = 0;    // 项数
	scanf("%d", &n);
	int ret = fiboncci(n);
	printf("%d\n", ret);
}

//斐波那契数列 0 1 1 2 3 5 8 13
int main()
{
	test1();
	return 0;
}